libxc: add MMIO hole size parameter to xc_hvm_build()
authorDavid Vrabel <david.vrabel@citrix.com>
Thu, 1 Mar 2012 15:18:08 +0000 (15:18 +0000)
committerDavid Vrabel <david.vrabel@citrix.com>
Thu, 1 Mar 2012 15:18:08 +0000 (15:18 +0000)
commita55f818f8b43da55c139b9f97f85e4dd8ea320b2
treeee4868d3d0218debc384c44f7edad648c42489de
parentb831d3c00f7c6c871cc7efb435e9a6660bd29947
libxc: add MMIO hole size parameter to xc_hvm_build()

Add a parameter for the MMIO hole size when building a HVM domain.

This is useful for specifying a larger than normal MMIO hole to ensure
that no PCIe device's MMIO region overlaps with RAM in a guest's
physical address space.  This is needed on certain systems with PCIe
switches with a broken ACS capability.  On these systems, if a device
downstream of the switch attempts a DMA to a guest physical address
that overlaps with the MMIO region of another downstream device, then
the switch routes the transfer directly to the device and the read or
write never hits RAM.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/libxc/xc_hvm_build.c
tools/libxc/xenguest.h